app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
↳ QTRS
↳ Overlay + Local Confluence
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(filter2, app(f, x)), f)
APP(app(filter, f), app(app(cons, x), xs)) → APP(f, x)
APP(minsort, app(app(cons, x), y)) → APP(min, x)
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, x), z)
APP(minsort, app(app(cons, x), y)) → APP(del, app(app(min, x), y))
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(app(app(filter2, app(f, x)), f), x), xs)
APP(app(eq, app(s, x)), app(s, y)) → APP(eq, x)
APP(app(le, app(s, x)), app(s, y)) → APP(le, x)
APP(app(map, f), app(app(cons, x), xs)) → APP(app(map, f), xs)
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, y), z)
APP(app(del, x), app(app(cons, y), z)) → APP(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
APP(minsort, app(app(cons, x), y)) → APP(cons, app(app(min, x), y))
APP(app(min, x), app(app(cons, y), z)) → APP(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
APP(app(min, x), app(app(cons, y), z)) → APP(if, app(app(le, x), y))
APP(app(app(app(filter2, false), f), x), xs) → APP(app(filter, f), xs)
APP(app(app(app(filter2, true), f), x), xs) → APP(app(filter, f), xs)
APP(app(min, x), app(app(cons, y), z)) → APP(app(if, app(app(le, x), y)), app(app(min, x), z))
APP(minsort, app(app(cons, x), y)) → APP(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
APP(app(app(app(filter2, false), f), x), xs) → APP(filter, f)
APP(app(del, x), app(app(cons, y), z)) → APP(app(cons, y), app(app(del, x), z))
APP(minsort, app(app(cons, x), y)) → APP(app(min, x), y)
APP(app(le, app(s, x)), app(s, y)) → APP(app(le, x), y)
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(app(filter2, app(f, x)), f), x)
APP(app(eq, app(s, x)), app(s, y)) → APP(app(eq, x), y)
APP(app(min, x), app(app(cons, y), z)) → APP(app(le, x), y)
APP(app(map, f), app(app(cons, x), xs)) → APP(f, x)
APP(app(min, x), app(app(cons, y), z)) → APP(min, y)
APP(app(del, x), app(app(cons, y), z)) → APP(eq, x)
APP(minsort, app(app(cons, x), y)) → APP(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y)))
APP(app(del, x), app(app(cons, y), z)) → APP(app(if, app(app(eq, x), y)), z)
APP(app(app(app(filter2, true), f), x), xs) → APP(cons, x)
APP(app(filter, f), app(app(cons, x), xs)) → APP(filter2, app(f, x))
APP(app(del, x), app(app(cons, y), z)) → APP(if, app(app(eq, x), y))
APP(app(del, x), app(app(cons, y), z)) → APP(app(eq, x), y)
APP(app(map, f), app(app(cons, x), xs)) → APP(cons, app(f, x))
APP(app(min, x), app(app(cons, y), z)) → APP(le, x)
APP(app(app(app(filter2, true), f), x), xs) → APP(filter, f)
APP(minsort, app(app(cons, x), y)) → APP(app(del, app(app(min, x), y)), app(app(cons, x), y))
APP(app(del, x), app(app(cons, y), z)) → APP(app(del, x), z)
APP(app(app(app(filter2, true), f), x), xs) → APP(app(cons, x), app(app(filter, f), xs))
APP(app(map, f), app(app(cons, x), xs)) → APP(app(cons, app(f, x)), app(app(map, f), xs))
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(filter2, app(f, x)), f)
APP(app(filter, f), app(app(cons, x), xs)) → APP(f, x)
APP(minsort, app(app(cons, x), y)) → APP(min, x)
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, x), z)
APP(minsort, app(app(cons, x), y)) → APP(del, app(app(min, x), y))
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(app(app(filter2, app(f, x)), f), x), xs)
APP(app(eq, app(s, x)), app(s, y)) → APP(eq, x)
APP(app(le, app(s, x)), app(s, y)) → APP(le, x)
APP(app(map, f), app(app(cons, x), xs)) → APP(app(map, f), xs)
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, y), z)
APP(app(del, x), app(app(cons, y), z)) → APP(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
APP(minsort, app(app(cons, x), y)) → APP(cons, app(app(min, x), y))
APP(app(min, x), app(app(cons, y), z)) → APP(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
APP(app(min, x), app(app(cons, y), z)) → APP(if, app(app(le, x), y))
APP(app(app(app(filter2, false), f), x), xs) → APP(app(filter, f), xs)
APP(app(app(app(filter2, true), f), x), xs) → APP(app(filter, f), xs)
APP(app(min, x), app(app(cons, y), z)) → APP(app(if, app(app(le, x), y)), app(app(min, x), z))
APP(minsort, app(app(cons, x), y)) → APP(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
APP(app(app(app(filter2, false), f), x), xs) → APP(filter, f)
APP(app(del, x), app(app(cons, y), z)) → APP(app(cons, y), app(app(del, x), z))
APP(minsort, app(app(cons, x), y)) → APP(app(min, x), y)
APP(app(le, app(s, x)), app(s, y)) → APP(app(le, x), y)
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(app(filter2, app(f, x)), f), x)
APP(app(eq, app(s, x)), app(s, y)) → APP(app(eq, x), y)
APP(app(min, x), app(app(cons, y), z)) → APP(app(le, x), y)
APP(app(map, f), app(app(cons, x), xs)) → APP(f, x)
APP(app(min, x), app(app(cons, y), z)) → APP(min, y)
APP(app(del, x), app(app(cons, y), z)) → APP(eq, x)
APP(minsort, app(app(cons, x), y)) → APP(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y)))
APP(app(del, x), app(app(cons, y), z)) → APP(app(if, app(app(eq, x), y)), z)
APP(app(app(app(filter2, true), f), x), xs) → APP(cons, x)
APP(app(filter, f), app(app(cons, x), xs)) → APP(filter2, app(f, x))
APP(app(del, x), app(app(cons, y), z)) → APP(if, app(app(eq, x), y))
APP(app(del, x), app(app(cons, y), z)) → APP(app(eq, x), y)
APP(app(map, f), app(app(cons, x), xs)) → APP(cons, app(f, x))
APP(app(min, x), app(app(cons, y), z)) → APP(le, x)
APP(app(app(app(filter2, true), f), x), xs) → APP(filter, f)
APP(minsort, app(app(cons, x), y)) → APP(app(del, app(app(min, x), y)), app(app(cons, x), y))
APP(app(del, x), app(app(cons, y), z)) → APP(app(del, x), z)
APP(app(app(app(filter2, true), f), x), xs) → APP(app(cons, x), app(app(filter, f), xs))
APP(app(map, f), app(app(cons, x), xs)) → APP(app(cons, app(f, x)), app(app(map, f), xs))
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
APP(app(eq, app(s, x)), app(s, y)) → APP(app(eq, x), y)
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
APP(app(eq, app(s, x)), app(s, y)) → APP(app(eq, x), y)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
eq1(s(x), s(y)) → eq1(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minsort(nil)
minsort(cons(x0, x1))
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
map(x0, nil)
map(x0, cons(x1, x2))
filter(x0, nil)
filter(x0, cons(x1, x2))
filter2(true, x0, x1, x2)
filter2(false, x0, x1, x2)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minsort(nil)
minsort(cons(x0, x1))
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
map(x0, nil)
map(x0, cons(x1, x2))
filter(x0, nil)
filter(x0, cons(x1, x2))
filter2(true, x0, x1, x2)
filter2(false, x0, x1, x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
eq1(s(x), s(y)) → eq1(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
APP(app(del, x), app(app(cons, y), z)) → APP(app(del, x), z)
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
APP(app(del, x), app(app(cons, y), z)) → APP(app(del, x), z)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
del1(x, cons(y, z)) → del1(x, z)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minsort(nil)
minsort(cons(x0, x1))
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
map(x0, nil)
map(x0, cons(x1, x2))
filter(x0, nil)
filter(x0, cons(x1, x2))
filter2(true, x0, x1, x2)
filter2(false, x0, x1, x2)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minsort(nil)
minsort(cons(x0, x1))
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
map(x0, nil)
map(x0, cons(x1, x2))
filter(x0, nil)
filter(x0, cons(x1, x2))
filter2(true, x0, x1, x2)
filter2(false, x0, x1, x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
del1(x, cons(y, z)) → del1(x, z)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
APP(app(le, app(s, x)), app(s, y)) → APP(app(le, x), y)
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QDP
↳ QDP
APP(app(le, app(s, x)), app(s, y)) → APP(app(le, x), y)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
le1(s(x), s(y)) → le1(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minsort(nil)
minsort(cons(x0, x1))
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
map(x0, nil)
map(x0, cons(x1, x2))
filter(x0, nil)
filter(x0, cons(x1, x2))
filter2(true, x0, x1, x2)
filter2(false, x0, x1, x2)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minsort(nil)
minsort(cons(x0, x1))
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
map(x0, nil)
map(x0, cons(x1, x2))
filter(x0, nil)
filter(x0, cons(x1, x2))
filter2(true, x0, x1, x2)
filter2(false, x0, x1, x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
le1(s(x), s(y)) → le1(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, x), z)
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, y), z)
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QDP
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, x), z)
APP(app(min, x), app(app(cons, y), z)) → APP(app(min, y), z)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
min1(x, cons(y, z)) → min1(y, z)
min1(x, cons(y, z)) → min1(x, z)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minsort(nil)
minsort(cons(x0, x1))
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
map(x0, nil)
map(x0, cons(x1, x2))
filter(x0, nil)
filter(x0, cons(x1, x2))
filter2(true, x0, x1, x2)
filter2(false, x0, x1, x2)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minsort(nil)
minsort(cons(x0, x1))
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
map(x0, nil)
map(x0, cons(x1, x2))
filter(x0, nil)
filter(x0, cons(x1, x2))
filter2(true, x0, x1, x2)
filter2(false, x0, x1, x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
min1(x, cons(y, z)) → min1(y, z)
min1(x, cons(y, z)) → min1(x, z)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
APP(minsort, app(app(cons, x), y)) → APP(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y)))
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
APP(minsort, app(app(cons, x), y)) → APP(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y)))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(del, x), nil) → nil
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
minsort1(cons(x, y)) → minsort1(del(min(x, y), cons(x, y)))
min(x, nil) → x
min(x, cons(y, z)) → if(le(x, y), min(x, z), min(y, z))
del(x, cons(y, z)) → if(eq(x, y), z, cons(y, del(x, z)))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
del(x, nil) → nil
if(true, x, y) → x
if(false, x, y) → y
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
minsort(nil)
minsort(cons(x0, x1))
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
map(x0, nil)
map(x0, cons(x1, x2))
filter(x0, nil)
filter(x0, cons(x1, x2))
filter2(true, x0, x1, x2)
filter2(false, x0, x1, x2)
minsort(nil)
minsort(cons(x0, x1))
map(x0, nil)
map(x0, cons(x1, x2))
filter(x0, nil)
filter(x0, cons(x1, x2))
filter2(true, x0, x1, x2)
filter2(false, x0, x1, x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
minsort1(cons(x, y)) → minsort1(del(min(x, y), cons(x, y)))
min(x, nil) → x
min(x, cons(y, z)) → if(le(x, y), min(x, z), min(y, z))
del(x, cons(y, z)) → if(eq(x, y), z, cons(y, del(x, z)))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
del(x, nil) → nil
if(true, x, y) → x
if(false, x, y) → y
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
minsort1(cons(x, y)) → minsort1(if(eq(min(x, y), x), y, cons(x, del(min(x, y), y))))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
minsort1(cons(x, y)) → minsort1(if(eq(min(x, y), x), y, cons(x, del(min(x, y), y))))
min(x, nil) → x
min(x, cons(y, z)) → if(le(x, y), min(x, z), min(y, z))
del(x, cons(y, z)) → if(eq(x, y), z, cons(y, del(x, z)))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
del(x, nil) → nil
if(true, x, y) → x
if(false, x, y) → y
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
minsort1(cons(x0, nil)) → minsort1(if(eq(min(x0, nil), x0), nil, cons(x0, del(x0, nil))))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, del(min(x0, cons(x1, x2)), cons(x1, x2)))))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(min(x0, cons(x1, x2)), x0), cons(x1, x2), cons(x0, del(if(le(x0, x1), min(x0, x2), min(x1, x2)), cons(x1, x2)))))
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, del(min(x0, nil), nil))))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
minsort1(cons(x0, nil)) → minsort1(if(eq(min(x0, nil), x0), nil, cons(x0, del(x0, nil))))
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, del(min(x0, nil), nil))))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(min(x0, cons(x1, x2)), x0), cons(x1, x2), cons(x0, del(if(le(x0, x1), min(x0, x2), min(x1, x2)), cons(x1, x2)))))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, del(min(x0, cons(x1, x2)), cons(x1, x2)))))
min(x, nil) → x
min(x, cons(y, z)) → if(le(x, y), min(x, z), min(y, z))
del(x, cons(y, z)) → if(eq(x, y), z, cons(y, del(x, z)))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
del(x, nil) → nil
if(true, x, y) → x
if(false, x, y) → y
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, del(x0, nil))))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, del(x0, nil))))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(min(x0, cons(x1, x2)), x0), cons(x1, x2), cons(x0, del(if(le(x0, x1), min(x0, x2), min(x1, x2)), cons(x1, x2)))))
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, del(min(x0, nil), nil))))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, del(min(x0, cons(x1, x2)), cons(x1, x2)))))
min(x, nil) → x
min(x, cons(y, z)) → if(le(x, y), min(x, z), min(y, z))
del(x, cons(y, z)) → if(eq(x, y), z, cons(y, del(x, z)))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
del(x, nil) → nil
if(true, x, y) → x
if(false, x, y) → y
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, if(eq(min(x0, cons(x1, x2)), x1), x2, cons(x1, del(min(x0, cons(x1, x2)), x2))))))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, del(x0, nil))))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, if(eq(min(x0, cons(x1, x2)), x1), x2, cons(x1, del(min(x0, cons(x1, x2)), x2))))))
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, del(min(x0, nil), nil))))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(min(x0, cons(x1, x2)), x0), cons(x1, x2), cons(x0, del(if(le(x0, x1), min(x0, x2), min(x1, x2)), cons(x1, x2)))))
min(x, nil) → x
min(x, cons(y, z)) → if(le(x, y), min(x, z), min(y, z))
del(x, cons(y, z)) → if(eq(x, y), z, cons(y, del(x, z)))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
del(x, nil) → nil
if(true, x, y) → x
if(false, x, y) → y
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, del(if(le(x0, x1), min(x0, x2), min(x1, x2)), cons(x1, x2)))))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, del(x0, nil))))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, if(eq(min(x0, cons(x1, x2)), x1), x2, cons(x1, del(min(x0, cons(x1, x2)), x2))))))
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, del(min(x0, nil), nil))))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, del(if(le(x0, x1), min(x0, x2), min(x1, x2)), cons(x1, x2)))))
min(x, nil) → x
min(x, cons(y, z)) → if(le(x, y), min(x, z), min(y, z))
del(x, cons(y, z)) → if(eq(x, y), z, cons(y, del(x, z)))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
del(x, nil) → nil
if(true, x, y) → x
if(false, x, y) → y
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, nil)))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, del(x0, nil))))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, if(eq(min(x0, cons(x1, x2)), x1), x2, cons(x1, del(min(x0, cons(x1, x2)), x2))))))
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, nil)))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, del(if(le(x0, x1), min(x0, x2), min(x1, x2)), cons(x1, x2)))))
min(x, nil) → x
min(x, cons(y, z)) → if(le(x, y), min(x, z), min(y, z))
del(x, cons(y, z)) → if(eq(x, y), z, cons(y, del(x, z)))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
del(x, nil) → nil
if(true, x, y) → x
if(false, x, y) → y
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, nil)))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, if(eq(min(x0, cons(x1, x2)), x1), x2, cons(x1, del(min(x0, cons(x1, x2)), x2))))))
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, nil)))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, del(if(le(x0, x1), min(x0, x2), min(x1, x2)), cons(x1, x2)))))
min(x, nil) → x
min(x, cons(y, z)) → if(le(x, y), min(x, z), min(y, z))
del(x, cons(y, z)) → if(eq(x, y), z, cons(y, del(x, z)))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
del(x, nil) → nil
if(true, x, y) → x
if(false, x, y) → y
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x1), x2, cons(x1, del(min(x0, cons(x1, x2)), x2))))))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, nil)))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x1), x2, cons(x1, del(min(x0, cons(x1, x2)), x2))))))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, del(if(le(x0, x1), min(x0, x2), min(x1, x2)), cons(x1, x2)))))
min(x, nil) → x
min(x, cons(y, z)) → if(le(x, y), min(x, z), min(y, z))
del(x, cons(y, z)) → if(eq(x, y), z, cons(y, del(x, z)))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
del(x, nil) → nil
if(true, x, y) → x
if(false, x, y) → y
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x1), x2, cons(x1, del(if(le(x0, x1), min(x0, x2), min(x1, x2)), x2))))))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, nil)))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x1), x2, cons(x1, del(if(le(x0, x1), min(x0, x2), min(x1, x2)), x2))))))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x1), x2, cons(x1, del(min(x0, cons(x1, x2)), x2))))))
min(x, nil) → x
min(x, cons(y, z)) → if(le(x, y), min(x, z), min(y, z))
del(x, cons(y, z)) → if(eq(x, y), z, cons(y, del(x, z)))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
del(x, nil) → nil
if(true, x, y) → x
if(false, x, y) → y
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x1), x2, cons(x1, del(if(le(x0, x1), min(x0, x2), min(x1, x2)), x2))))))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ MNOCProof
↳ QDP
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, nil)))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x1), x2, cons(x1, del(if(le(x0, x1), min(x0, x2), min(x1, x2)), x2))))))
min(x, nil) → x
min(x, cons(y, z)) → if(le(x, y), min(x, z), min(y, z))
del(x, cons(y, z)) → if(eq(x, y), z, cons(y, del(x, z)))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
del(x, nil) → nil
if(true, x, y) → x
if(false, x, y) → y
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
min(x0, nil)
min(x0, cons(x1, x2))
del(x0, nil)
del(x0, cons(x1, x2))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ ATransformationProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ MNOCProof
↳ QDP
↳ QDP
minsort1(cons(x0, nil)) → minsort1(if(eq(x0, x0), nil, cons(x0, nil)))
minsort1(cons(x0, cons(x1, x2))) → minsort1(if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x0), cons(x1, x2), cons(x0, if(eq(if(le(x0, x1), min(x0, x2), min(x1, x2)), x1), x2, cons(x1, del(if(le(x0, x1), min(x0, x2), min(x1, x2)), x2))))))
min(x, nil) → x
min(x, cons(y, z)) → if(le(x, y), min(x, z), min(y, z))
del(x, cons(y, z)) → if(eq(x, y), z, cons(y, del(x, z)))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
del(x, nil) → nil
if(true, x, y) → x
if(false, x, y) → y
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
APP(app(filter, f), app(app(cons, x), xs)) → APP(f, x)
APP(app(app(app(filter2, false), f), x), xs) → APP(app(filter, f), xs)
APP(app(app(app(filter2, true), f), x), xs) → APP(app(filter, f), xs)
APP(app(filter, f), app(app(cons, x), xs)) → APP(app(app(app(filter2, app(f, x)), f), x), xs)
APP(app(map, f), app(app(cons, x), xs)) → APP(f, x)
APP(app(map, f), app(app(cons, x), xs)) → APP(app(map, f), xs)
app(app(le, 0), y) → true
app(app(le, app(s, x)), 0) → false
app(app(le, app(s, x)), app(s, y)) → app(app(le, x), y)
app(app(eq, 0), 0) → true
app(app(eq, 0), app(s, y)) → false
app(app(eq, app(s, x)), 0) → false
app(app(eq, app(s, x)), app(s, y)) → app(app(eq, x), y)
app(app(app(if, true), x), y) → x
app(app(app(if, false), x), y) → y
app(minsort, nil) → nil
app(minsort, app(app(cons, x), y)) → app(app(cons, app(app(min, x), y)), app(minsort, app(app(del, app(app(min, x), y)), app(app(cons, x), y))))
app(app(min, x), nil) → x
app(app(min, x), app(app(cons, y), z)) → app(app(app(if, app(app(le, x), y)), app(app(min, x), z)), app(app(min, y), z))
app(app(del, x), nil) → nil
app(app(del, x), app(app(cons, y), z)) → app(app(app(if, app(app(eq, x), y)), z), app(app(cons, y), app(app(del, x), z)))
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
app(app(filter, f), nil) → nil
app(app(filter, f), app(app(cons, x), xs)) → app(app(app(app(filter2, app(f, x)), f), x), xs)
app(app(app(app(filter2, true), f), x), xs) → app(app(cons, x), app(app(filter, f), xs))
app(app(app(app(filter2, false), f), x), xs) → app(app(filter, f), xs)
app(app(le, 0), x0)
app(app(le, app(s, x0)), 0)
app(app(le, app(s, x0)), app(s, x1))
app(app(eq, 0), 0)
app(app(eq, 0), app(s, x0))
app(app(eq, app(s, x0)), 0)
app(app(eq, app(s, x0)), app(s, x1))
app(app(app(if, true), x0), x1)
app(app(app(if, false), x0), x1)
app(minsort, nil)
app(minsort, app(app(cons, x0), x1))
app(app(min, x0), nil)
app(app(min, x0), app(app(cons, x1), x2))
app(app(del, x0), nil)
app(app(del, x0), app(app(cons, x1), x2))
app(app(map, x0), nil)
app(app(map, x0), app(app(cons, x1), x2))
app(app(filter, x0), nil)
app(app(filter, x0), app(app(cons, x1), x2))
app(app(app(app(filter2, true), x0), x1), x2)
app(app(app(app(filter2, false), x0), x1), x2)